Today many applications are to a large extent purely Web-based, and thus accessible from any user device which is provided with a Web Browser and Internet access functionality. This type of applications are typically referred to as Rich Internet Applications (RIA) and offers several important benefits to its users, compared to what can be expected from traditional, native applications.
Users using RIAs do no longer have to care about installing applications, or manually keeping the software up to date, since a RIA is loaded from a Web Server every time it is started, instead of being installed locally. From a developer's point of view, development costs associated with RIAs can be cut drastically, since RIAs are generally less complicated to develop and deploy than corresponding native applications. Furthermore, RIAs are important from a business perspective, since they enable companies to quickly obtain a critical mass of users.
The development from native applications to RIAs, can also be seen as a paradigm shift moving from “software-as-an artifact” to “software-as-a-service”. Due to this paradigm shift, the internet is about to become a globally distributed operating system. Instead of having native applications running locally in the User Devices, RIA processes may be completely distributed, where some applications are running on the User Device, while other applications may instead be running in the network. Users may access services from a number of different types of user devices, where mobile user devices become only one of many possible entry points to the network.
The mobile user device industry is experiencing a paradigm shift towards open user devices, i.e. user devices which have much in common with traditional desktop computers, which enables users to install new application versions and to customize their user devices all according their personal preferences. Most user devices will in the near future also be provided with a desktop class Web Browser, i.e. a Web Browser which enables the user to browse the Web and get almost the same user experience as if using a classical desktop computer. A most likely consequence will probably be that RIAs running on such user devices will become even more attractive alternatives for many developers, since many users may be reached at reduced development costs.
It is clear that the Web Browser is a critical component for the evolution of the Web. Recent development in Web Browser technologies, typically referring to JavaScript Interpreters and JavaScript Frameworks, allow applications to run much faster, or even without a fully functional Internet connection. However, Web Browsers available today cannot be considered as constituting a fully fledged runtime environment, as it put several constraints on the applications. A RIA can for example not continue to run in the background of another application once the Web Browser or tab/window has been closed.
Another problem with Web Browsers available today is that they are not completely integrated on the desktop, which means that, even if it is possible to put an icon associated with a specific Web service, defining a RIA, such as e.g. a mail service, on the desktop, this service will not be able to notify the user when new mails are received, simply because a RIA will only be running when it is opened in the Web Browser.